A user for an electronic device, such as a smart phone, can create preference settings to perform routine repetitive custom operations. These preference settings can be implemented as automation settings, where each automation setting corresponds to an automated workflow of operations. As an example, a device can have an automation setting that is triggered at 7:00 am in the morning to execute an audio alarm to wake up a user. These automation settings can help the device operate more efficiently, as well as help make the device more convenient for the user to use.
At the same time, it is possible to determine some of these routine repetitive custom operations by observing a user's behavior for a period of time. In this regard, people are used to some regular routine in parts of their life. For example, people wake up and go to sleep around a regular time. People go to work at a specific location during a specific time frame, as well as perform some other predictable routine activities such as watching a television show during a particular time slot in the week. There can be changes in life, so that a person might change to a different routine. But usually a person follows some constant routine for a period of time. After that period of time, which can be a number of days or perhaps even a number of years, the person might adapt a new routine and then follow that routine for a new period of time.
Therefore, it is desirable to have a method for observing and learning about a user's behavior for routine repetitive operations by analyzing data collected on the user's routine activities for a period of time and to use the user's behavior learned for managing and automating customization of a device.